package co.edu.udea.iw.rtf.dao;

import java.util.List;

import co.edu.udea.iw.rtf.dto.Pregunta;
import co.edu.udea.iw.rtf.exception.RTFDaoException;

/**
 * 
 * @author Tatiana Escobar - tatescoal@gmail.com
 * @author Juan Camilo Cuartas - juancamilo.cuartas@gmail.com
 * 
 * Interfaz con los metodos que debe tener el controlador de la entidad Pregunta 
 *
 */
public interface PreguntaDAO {

	/**
	 * Funcion para guardar una nueva Pregunta  en la base de datos
	 * @param pregunta
	 * @throws RTFDaoException
	 */
	public void guardar(Pregunta pregunta) throws RTFDaoException;
	
	/**
	 * Funcion para actualizar una pregunta en la base de datos
	 * @param pregunta
	 * @throws RTFDaoException
	 */
	public void actualizar(Pregunta pregunta) throws RTFDaoException;
	
	/**
	 * Funcion que obtiene una lista con las preguntas que se tienen en la base de datos
	 * @return List<Pregunta>
	 * @throws RTFDaoException
	 */

	public List<Pregunta> obtener() throws RTFDaoException;
	
	/**
	 * Funcion que obtiene una pregunta que se tiene en la base de datos de acuerdo al codigo enviado como parametro
	 * @param codigoo
	 * @return Pregunta
	 * @throws RTFDaoException
	 */
	public Pregunta obtener(Integer codigoo) throws RTFDaoException;
	
}
